General-purpose macro processor